const express = require('express');
const router = express.Router();
const axios = require('axios');
const auth = require('../middlewares/auth');

const AI_API_URL = "https://xiaoai.plus/v1/chat/completions";
const AI_API_KEY = "Bearer sk-MX5J3eWsU0dmuqw0WoEgLtGlyCdMeqV0kCzEe7QhwGeZCfxx";

// 获取AI运动计划建议
router.post('/generate', auth, async (req, res) => {
  try {
    const { height, weight, age, gender, goal } = req.user;
    
    // 构建提示词
    const prompt = `请为一个用户制定个性化的运动计划。
用户基本信息：
- 身高：${height}cm
- 体重：${weight}kg
- 年龄：${age}岁
- 性别：${gender}
- 健康目标：${goal}

请从以下几个方面提供专业的运动建议：
1. 每周运动计划（具体到每天）
2. 运动强度和时长建议
3. 注意事项和安全提醒
4. 预期效果
5. 饮食配合建议`;

    // 调用 AI 接口
    const response = await axios.post(AI_API_URL, {
      messages: [
        { role: 'system', content: '你是一个专业的健身教练和营养师。' },
        { role: 'user', content: prompt }
      ],
      stream: false,
      model: 'gpt-3.5-turbo',
      temperature: 0.7,
      frequency_penalty: 0,
      presence_penalty: 0,
      top_p: 1
    }, {
      headers: {
        'Authorization': AI_API_KEY,
        'Content-Type': 'application/json'
      }
    });
    
    const plan = response.data.choices[0].message.content.trim();
    
    res.json({
      code: 0,
      data: {
        plan
      },
      message: '获取成功'
    });
  } catch (error) {
    console.error('获取AI运动计划错误:', error);
    res.json({
      code: 1,
      message: error.response?.data?.message || '获取失败'
    });
  }
});

module.exports = router; 